#class User(models.Model):
#    username = models.CharField(max_length=150, primary_key=True)
#    password = models.CharField(max_length=60, blank=True)
    
class TravelGame(models.Model): 
    
    class Meta:
        abstract = True
    
class OTG(TravelGame):
    pass

class OptionHolder(models.Model)
    class Meta:
        abstract = True

class Landmark(optionHolder):
    game = models.ForeignKey(Map)
    DISTANCE_FROM_START = models.IntegerField()
    NAME = models.CharField(max_length = 50)
    class Meta:
        abstract = True
    
class Day(Landmark):
    pass
        
class River(Landmark):
    pass
        
class FortTown(Landmark):
    pass
        
class NaturalWonder(Landmark):
    pass

class NormalLocation(Landmark): 
    pass
    
class Party(models.Model):
    location = models.DecimalField(decimal_places=3)
  #  groupMember = models.ForeignKey(member) 
    partyType = models.ForeignKey(Profession)
    pace = models.IntegerField()
    inventory = models.ForeignParty(Item) 
    date = models.DateField()
    game = models.ForeignKey(TravelGame)
    
class Member(models.Model):
    health = models.IntegerField()
    name = models.CharField(max_length=20)
    message = models.CharField(max_length=100)
    ailment = models.CharField(max_length=75)
    party = models.ForeignKey(Party)
    
class Wagon(models.Model):
    brokenAxle = models.BooleanField()
    brokenWheel = models.BooleanField()
    
class Oxen(models.Model):
    pass

class Character(models.Model):
    isMain = models.BooleanField()
    
class Item(optionHolder):
    weight = models.DecimalField(decimal_places=2)
    name = models.CharField(max_length=20)
    quantity = models.DecimalField(decimal_places=2)
    party = models.ForeignKey(party)
    
class Ammo(Item):
    pass

class Clothing(Item):
    pass

class Rations(Item):
    pass

class Money(Item):
    pass

class WagonSpoke(Item):
    pass

class WagonWheel(Item):
    pass

class Profession(models.Model):
    infoText = models.CharField(max_length=50)
    name = models.CharField(max_length=20)
    
class Options(models.Model):
    container = models.ForeignKey(Profession)
    key = models.TextField()
    value = models.TextField()
    
class Banker(Profession):
    pass

class Carpenter(Profession):
    pass

class Farmer(Profession):
    pass

class RandomEvent(models.Model):
    name = models.CharField(max_length=25)
    
class Ailment(RandomEvent):
    pass

class Robbery(RandomEvent):
    pass

class InclementWeather(RandomEvent):
    pass

class REH(models.Model):
    randomEvents = models.ForeignKey(RandomEvent)
